package demo1223.am;

import java.io.File;
import java.io.IOException;

/*
java.io.File类:文件和目录路径名的抽象表示形式。
file:文件,指的是一些文本文件,.doc,.txt.java,.excl
directory:目录,文件夹
path:路径.

构造方法:
1.public File(String pathname);
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
2.public File(String parent,String child);
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
3.public File(File parent,String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

成员方法:
1.public boolean createNewFile() throws IOException
返回：如果指定的文件不存在并成功地创建，则返回 true；
如果指定的文件已经存在，则返回 false
注意:该方法不能创建目录,指定的文件的父路径一定要存在,否则会报IOException异常.

2.public boolean mkdir();//makeDirectory
返回: 当已创建好目录时，返回 true；否则返回 false
功能：只能创建 指定路径的 目录;前提：所有的父母录都存在就最后一个子目录不存在且要被创建

3.public boolean mkdirs()
返回:当且仅当已创建目录以及所有必需的父目录时，返回 true；否则返回 false
创建所有的目录.

4.public boolean delete();
删除此抽象路径名表示的文件或目录。
如果此路径名表示一个目录，则该目录必须为空才能删除。

判断的方法
5.public boolean exists();
返回的是当且仅当文件或者目录存在,返回true,不存在,返回false.
6.public boolean isFile();
判断该路径是否是一个文件;存在且是文件,返回true;如果不是,返回false.
7.public boolean isDirectory();
判断路径是否是一个目录,存在且是目录,返回true,如果不是,返回false.
 */
public class Demo_01 {
    public static void main(String[] args) {
        /*
        绝对路径:以盘符开头的路径就是绝对路径
        相对路径:相对于当前项目下的路径
         */
        File file = new File("a.txt");
        file.mkdirs();
//        boolean b = file.delete();
        boolean b = file.isDirectory();
        System.out.println(b);//true
    }

    public static void demo02() {
        // 路径可真可假
        File file = new File("D:\\test\\a.txt");
        System.out.println(file);
        try {
            boolean b = file.createNewFile();
            System.out.println(b);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void demo01() {
        String parent = "D:\\a";
        File file1 = new File(parent, "a.txt");
        File file2 = new File(parent, "b.txt");
        System.out.println(file1);
        System.out.println(file2);

        File parentFile = new File("D:\\test");
        File file3 = new File(parentFile, "hello.txt");
        System.out.println(file3);//"D\test\hello.txt"
    }
}
